perm filename KAUD.SAI[KI,ALS] blob
sn#099366 filedate 1974-04-30 generic text, type T, neo UTF8
00010 ENTRY HEAR;
00020 BEGIN
00030 DEFINE ⊂="COMMENT";
00040 ⊂ To initiate the ADC and FRECRD an utterance in file LISTEN.TMP;
00050 DEFINE CR="'15",LF="'12",CRLF="CR&LF";
00060
00070 REQUIRE "KPLAY.REL[KI,ALS]" LOAD_MODULE;
00080 REQUIRE "FRECRD.REL[KI,ALS]" LOAD_MODULE;
00090 REQUIRE "FIXUPA.REL[X,ALS]" LIBRARY;
00100 REQUIRE "IO.REL[X,ALS]" LIBRARY;
00110 REQUIRE "SUIO.REL[X,ALS]" LIBRARY;
00120 REQUIRE "LIB.REL[NET,NJM]" LIBRARY;
00130 EXTERNAL PROCEDURE KPLAY;
00140 EXTERNAL FORTRAN PROCEDURE FRECRD;
00150 EXTERNAL INTEGER CHAN3;
00160 INTEGER SEGNAM,PP;
00170 INTEGER ARRAY DUMMY[1:2];
00180
00190 INTERNAL PROCEDURE HEAR;
00200 BEGIN "KIHEAR"
00210 INTEGER BRCHR,EOF; BOOLEAN ER;
00220
00230 CLOSE(CHAN3); OPEN(CHAN3,"DSK",'10,1,1,0,0,EOF);
00240 LOOKUP(CHAN3,"LISTEN.TMP[KI,ALS]",ER);
00250 CLOSE(CHAN3); RENAME(CHAN3,"OLD.TMP",0,0); RELEASE(CHAN3);
00260 ⊂ Rename old LISTEN.TMP file for safety;
00270 outstr("Start talking after the first beep and stop on second"&CRLF);
00280 START_CODE MOVE 0,['725005000004]; '047000400110 ; END;
00290 ⊂ This sounds the beep for 1 second with immediate return, so that
00300 the ADC can be called before the speaker starts;
00310 OUTSTR("The beep should be sounding for 1 second now"&CRLF);
00320
00330 ⊂ Get segment name and detach;
00340 START_CODE '047000400037; MOVEM 0,SEGNAM; '047040400017; END;
00350
00360 FRECRD(DUMMY[1]);
00370
00380 START_CODE MOVE 0,SEGNAM; '047000400016; JFCL; END;
00390 ⊂ Reattach segment;
00400 START_CODE MOVE 0,['725005000004]; '047000400110 ; END;
00410
00420 END "KIHEAR";
00430
00440
00450 INTERNAL PROCEDURE SAY(STRING UTTER);
00460 BEGIN "SAY"
00470
00480 INTEGER I;
00495 INTERNAL INTEGER ARRAY NAME[0:5];
00500
00505 UTTER←UTTER&".SAY";
00520 FOR I←0 STEP 1 UNTIL 4 DO BEGIN
00570 NAME[I]←CVASC(UTTER[1 TO 5]);
00575 UTTER←UTTER[6 TO 20];
00590 END;
00600 KPLAY;
00610 END "SAY";
00620
00630 END;